Three.js中的Scene(场景)是一个重要的组件,用于存放所有的3D对象、光源和相机等,并管理它们在3D空间中的关系和交互。下面对Scene的API进行详细介绍,并提供一个简单的使用实例。

Scene的API介绍
add(object):将一个3D对象添加到场景中。
remove(object):将一个3D对象从场景中移除。
getObjectById(id):根据id获取场景中的对象。
getObjectByName(name):根据名称获取场景中的对象。
traverse(callback):遍历场景中的所有对象,并对每个对象执行回调函数。
dispose():释放场景中的所有对象和资源。
好的,让我分别为您提供每个函数的使用例子。

add(object)
javascript

1
2
3
4
5
6
7
8
9
10
11
12
// 创建一个新的场景
var scene = new THREE.Scene();


// 创建一个立方体对象
var geometry = new THREE.BoxGeometry();
var material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
var cube = new THREE.Mesh(geometry, material);


// 将立方体添加到场景中
scene.add(cube);

remove(object)
javascript

1
2
3
// 从场景中移除立方体对象

scene.remove(cube);

getObjectById(id)
javascript

1
2
// 根据id获取场景中的对象
var object = scene.getObjectById(2);

getObjectByName(name)
javascript

1
2
// 根据名称获取场景中的对象
var object = scene.getObjectByName("cube");

traverse(callback)
javascript

1
2
3
4
// 遍历场景中的所有对象,并对每个对象执行回调函数
scene.traverse(function (object) {
console.log(object.name);
});

dispose()
javascript

1
2
// 释放场景中的所有对象和资源
scene.dispose();

这些例子展示了如何使用Scene的API来添加、移除、获取和遍历场景中的对象,以及释放场景中的资源。